package org.dromara.cms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.cms.domain.CmsCategory;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


/**
 * CMS分类视图对象 cms_category
 *
 * @author Spring
 * @date 2024-12-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = CmsCategory.class)
public class CmsCategoryVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 分类ID
     */
    @ExcelProperty(value = "分类ID")
    private Long id;

    /**
     * 分类标题
     */
    @ExcelProperty(value = "分类标题")
    private String title;


    /**
     * 父分类ID
     */
    @ExcelProperty(value = "父分类ID")
    private Long parentId;

    /**
     * 祖级列表
     */
    @ExcelProperty(value = "祖级列表")
    private String ancestors;

    /**
     * 访问路径
     */
    @ExcelProperty(value = "访问路径")
    private String path;

    /**
     * 分类类型(article文章 page单页)
     */
    @ExcelProperty(value = "分类类型(article文章 page单页)")
    private String categoryType;



    /**
     * 显示顺序
     */
    @ExcelProperty(value = "显示顺序")
    private Long sort;

    /**
     * 是否显示(0隐藏 1显示)
     */
    @ExcelProperty(value = "是否显示(0隐藏 1显示)")
    private String isShow;

    /**
     * SEO标题
     */
    @ExcelProperty(value = "SEO标题")
    private String seoTitle;

    /**
     * SEO关键词
     */
    @ExcelProperty(value = "SEO关键词")
    private String seoKeywords;

    /**
     * SEO描述
     */
    @ExcelProperty(value = "SEO描述")
    private String seoDescription;

    /**
     * 扩展字段(JSON格式)
     */
    @ExcelProperty(value = "扩展字段(JSON格式)")
    private String customFields;


    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 分类名称
     */
    @ExcelProperty(value = "分类名称")
    private String categoryName;


    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 链接类型
     */
    private Long linkType;

    /**
     * 链接打开方式
     */
    private String linkTarget;

    /**
     * 页面模板
     */
    private String template;
}
